import {Cell, Graph} from "@antv/x6";


/**
 * 节点cell.getData() 中应该返回的数据结构
 */
export interface INodeData {
  dialogData: any, // 节点表单数据
  dialogOpenWay: 'create' | null, // 节点抽屉对话框的打开方式
  merchantTemplateFormValidateResult?: IFormValidateResult, // 画布作为merchant端的流程模板时，是否完成表单填写
  placeholderNodeData?: any, // 占位节点被替换时，会将占位节点中的数据浅拷贝至当前操作的节点
}


/**
 * 节点抽屉的统一校验返回结果
 */
export interface IFormValidateResult {
  result: boolean,
  message?: string,
  [key: string]: any, // 其他数据
}

/**
 * 节点抽屉用于提交的数据结构
 */
export interface INodeFormValidateResult {
  dialogData: any,
}

/**
 * 添加节点时的事件 和 节点信息
 */
export interface IAddNodeEvent {
  graph: Graph | undefined,
  cell: Cell | undefined
}

